<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class cpModuleAjouterMedia extends cpModuleAdmin
{

	
	
		
	
	/// @name Initialisation
	//@{
	
	
	public function __construct($core)
	{

		parent::__construct($core); 
	
		# Permission nécessaire: medias
		$this->core->auth->verifierPermission('medias', true);
	
		$this->setTitreModule(__('Ajouter un fichier'));
		$this->setPrev('medias&dossier='.$_SESSION[CP_DERNIER_DOSSIER_MEDIAS_AFFICHE], __('Médias'));
	
		$this->ajouterBoutonAction(__('Ajouter le fichier'), '#', 'boutonAction_ajouterMedia');
		
		$this->setActionsAutorisees('ajouterMedia');
		
		# CSS et Javascript
		$this->setJavascript('ajouterMedia');
	 
	}
	//@}
    
	
	

	
	/// @name Formulaires
	//@{
	
	
	public function action_ajouterMedia()
	{
		try {
			
			$cur = $this->core->con->openCursor($this->core->prefix.'medias');
			$cur->media_dossier = $_POST['media_dossier'];
			$cur->media_titre = $_POST['media_titre'];
			$cur->media_description = $_POST['media_description'];			
			$this->core->site->transfererMedia($cur, 'upfile');
			http::redirect('index.php?module=medias&dossier='.rawurlencode(path::clean($cur->media_dossier)));
		} catch (Exception $e) {
			throw new cpErreur($e->getMessage(), null, $e->getCode());
		}
	}
	//@} 
    
	

	
	
	/// @name Interface du module
	//@{
	
	
	public function interfaceModule()
	{

		if($this->erreursFormulairePresentes())
		{
			$media_titre			= html::escapeHTML($_POST['media_titre']);
			$media_description		= html::escapeHTML($_POST['media_description']);
			$media_dossier			= $_POST['media_dossier'];
		}
		else
		{
			$media_titre			= '';
			$media_description		= '';
			$media_dossier			= $_SESSION[CP_DERNIER_DOSSIER_MEDIAS_AFFICHE];
		}
		
		$html =
		'<form action="index.php?module=ajouterMedia" method="post" id="formulaireMedia" enctype="multipart/form-data">'.
			$this->afficherMessages().
			$this->core->nonceHTML('ajouterMedia').
			form::hidden('action', 'ajouterMedia').
			form::hidden(array('MAX_FILE_SIZE'),CP_MAX_UPLOAD_SIZE).
			'<p>'.
				'<label for="media_titre">'.__('Titre').'</label>'.
				$this->field('media_titre', 50, 250, $media_titre).
			'</p>'.
			'<p>'.
				'<label for="media_description">Description</label>'.
				$this->textarea('media_description', 50, 5, html::escapeHTML($media_description)).
			'</p>'.
			'<p>'.
				'<label for="upfile">'.__('Choisissez un fichier').'</label>'.
				'<input type="file" name="upfile" size="35" />'.
				'<span class="aideFormulaire">'.sprintf(__('Taille maximale %s'), files::size(CP_MAX_UPLOAD_SIZE)).'</span>'.
			'</p>'.
			'<p>'.
				'<label for="media_dossier">'.__('Dossier parent').'</label>'.
				$this->combo('media_dossier', $this->core->site->getComboDossiersMedias(), $media_dossier).
			'<p>'.
				'<input type="submit" value="'.__('Ajouter le fichier').'" />'.
			'</p>'.
		'</form>';
		
		return $html;
	
	}
	//@}
	
	
}

?>